package cn.yhbk.web.modules.manager.Service;

import cn.yhbk.web.modules.manager.Pojo.DTO.Student.StudentParamDTO;
import cn.yhbk.web.modules.manager.Pojo.Entity.TbStudent;
import cn.yhbk.web.modules.manager.Pojo.VO.Student.StudentAdd;
import cn.yhbk.web.modules.manager.Pojo.VO.Student.StudentParam;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 学生表 服务类
 * </p>
 *
 * @author 有何不可
 * @since 2023-08-05
 */
public interface ITbStudentService extends IService<TbStudent> {

    boolean add(StudentAdd students);

    TbStudent getStudentByAdminId(Long adminId);

    Page<TbStudent> getStudent(Long currentPage, Long pageSize, StudentParamDTO condition);

    boolean removeStudent(Long studentId);

    Long getStudentIdByAdminId(Long adminId);

    int populationForClass(Long classId);

    List<Long> getStudentIdByCounsellorId(Long counsellorId);

    boolean checkStudentByCounsellor(Long counsellorId, Long stuId);

    List<Long> getStudentIdByClassId(Long classId);

    List<Long> getStudentIdsByClassIds(List<Long> classIds);

    boolean checkStudentByClassId(Long classId, Long stuId);

    void updateCounsellorIdByClassId(Long counsellorId, List<Long> classIds);

    List<Long> getStuIdsByResultId(Long resultId);
}
